AppleTalk is not enabled ( TCP/IP couldn't be initialized (:the manually set TCP/IP address is configured improperly (Jthe TCP/IP address is already in use or an address could not be obtained (
; This file is created and used by FileMaker Pro for TCP/IP access.
; It should contain one IP address or host name per line.
; Lines starting with a semicolon are ignored.
FileMaker Hosts
Local Hosts
Specify Host...:FileMaker host name is limited to 32
1st Quarter
2nd Quarter
3rd Quarter
4th Quarter
convertsF
converts
binary
number
decimal
representationF
converts
number
binary
representationO
correctK
countedG
cryptK
currentK
dataE
decimalF
decodesI
decodes
safeascii
format
original
textI
decompressesJ
decompresses
previously
compressedJ
decryptQ
decryptedK
decryptsK
decrypts
using
algorithm
current
crypt
determineE
doesK
doesn'tR
emailL
emptyE
encodesL
encodes
ascii
characters
range
theseM
encodes
lower
ascii
characters
range
encryptK
encryptsN
encrypts
using
algorithm
current
crypt
safeascii
v1.0L
exampleE
example
usage
external
trco-version
return
coding
exportedM
externalE
fieldE
filemakerE
firstK
formatI
formatsL
formattedL
functionE
functionsE
generateR
generatesR
generates
signature
characters
importantE
inputK
internetI
leastQ
lessH
likeG
lineL
loadedE
longQ
longerH
lossE
lowerL
matchK
meansR
mightH
moduloG
non-printingG
noteH
numberF
onlyI
originalI
outputL
overI
plug-inE
previouslyJ
rangeI
readableL
rememberN
representationF
resultE
retrieveN
returnE
returnedK
returnsG
rotate13P
safeL
safeasciiI
safelyI
saveR
alsoL
sendR
sensitiveN
sentI
separatedM
shiftsP
shortH
signatureR
signatures
signaturesR
simpleP
spacesG
specifyK
specify
which
encrypt
decrypt
textQ
storedP
stringsH
ascii
values
characters
modulo
sureN
textH
thanH
thatE
result
formatted
thisL
thereforeR
theseI
thisE
trco-versionE
troiE
safeascii
v1.0L
troi-decodesafeasciiL
troi-decryptQ
troi-encodesafeasciiI
troi-encodesafeascii
troi-decodesafeasciiM
troi-encodeshortsafeI
troi-encodeshortsafe
troi-decodesafeasciiL
troi-encryptQ
troi-setK
unchangedK
usageE
usedK
usingH
v1.0L
valuesG
veryH
simple
coding
shifts
character
values
whichQ
willE
withK
withoutN
zlibH
number
encoding
general
codingE
plug-inE
troiE
coding
plug-inE
d0001
binarynumberF
cryptQ
encryptionkey
externalE
fieldE
numberO
resultE
field
result
external
trco-versionE
field
result
external
troi-binarytonum
binarynumberF
field
result
external
troi-checksum
textG
field
result
external
troi-code
switches
encryptionkey
field
result
external
troi-compress
textH
field
result
external
troi-decodesafeascii
textI
field
result
external
troi-decompress
textJ
field
result
external
troi-decrypt
textK
field
result
external
troi-encodesafeascii
textL
field
result
external
troi-encodeshortsafe
textM
field
result
external
troi-encrypt
textN
field
result
external
troi-numtobinary
numberO
field
result
external
troi-rotate13
textP
field
result
external
troi-set
crypt
field
result
external
troi-textsignature
textR
switches
textG
trco-versionE
troi-binarytonumF
troi-checksumG
troi-code
troi-compressH
troi-decodesafeasciiI
troi-decompressJ
troi-decryptK
troi-encodesafeasciiL
troi-encodeshortsafeM
troi-encryptN
troi-numtobinaryO
troi-rotate13P
troi-setQ
troi-textsignatureR
1024G
addingR
againP
algorithmH
alsoE
asciiG
beingL
betterL
binaryF
changeR
changedL
characterM
charactersG
codingP
compressedJ
compressesH
compresses
using
algorithmH
convertsF
converts
binary
number
decimal
representationF
converts
number
binary
representationO
correctK
countedG
cryptK
currentK
decimalF
decodesI
decodes
safeascii
format
original
textI
decoding
decompressesJ
decompresses
previously
compressedJ
decryptQ
decryptedP
decryptsK
decrypts
using
algorithm
current
crypt
depending
doesn'tR
emailL
encodesL
encodes
ascii
characters
range
theseM
encodes
lower
ascii
characters
range
encoding
encryptP
encryptsN
encrypts
using
algorithm
current
crypt
exportedM
fieldP
filemakerP
firstK
formatI
formatsL
functionE
generateR
generatesR
generates
signature
characters
internetL
likeG
loadedE
lowerL
meansR
moduloG
non-printingG
noteE
numberF
onlyR
originalI
outputL
overL
performs
performs
encoding
decoding
field
depending
plug-inE
previouslyJ
rangeL
readableL
registerE
representationF
resultL
returnsG
rotate13P
safeasciiI
safelyL
sentL
separatedM
shiftsP
signatureR
simple
simpleP
spacesG
specifyK
specify
which
encrypt
decrypt
textQ
storedP
ascii
values
characters
modulo
switches
textH
thatJ
theseM
thisE
troi-setK
function
which
version
plug-in
usedE
usingH
valuesG
versionE
veryP
simple
coding
shifts
character
values
whichE
withK
withoutL
zlibH
action
algorithm
beforeQ
binaryO
binarynumberF
binarynumber
number
needs
converted
calculateG
caseQ
charactersQ
checksumG
coding
compressH
convertedF
decimalF
decodeI
decompressJ
decryptK
decryptQ
decryptdes
emptyE
encodeL
encryptN
encryptdes
encryptionkey
encryptionkey
functionQ
futureE
leastQ
leaveE
longQ
needsF
parameters
leave
empty
future
numberF
number
number
needs
converted
binaryO
other
parametersE
perform
possible
representationF
rotateP
sensitiveQ
signatureR
specify
switches
switches
switches
specify
coding
action
perform
textG
encodeM
calculate
checksum
calculate
signature
compressH
decodeI
decompressJ
decryptK
encryptN
perform
action
rotateP
encodeL
thatF
encrypt
decrypt
textQ
thisQ
troi-decryptQ
troi-encryptQ
usedQ
using
10010F
11111111111111111111O
123456789H
addingR
afterQ
asciiI
bodyI
borgI
brokenM
calculationH
changedG
checkR
checksumG
codeK
codingE
compareG
complementO
compressedH
containH
containsH
contentsG
cqd5yentvr5tn9byshg2R
cryptK
currentG
dataM
databaseH
decodedI
decodedcalcI
decryptdes
defineH
definedH
differentN
documentH
don'tI
emailI
encodedI
encryptdes
encryptedM
encrypteddatacalcN
encryptionQ
safeascii
v1.0I
endif
exampleH
example
exportM
externalE
external
trco-version
return
string
external
troi-code
decryptdes
gdecryptionkey
secretfield
external
troi-code
encryptdes
gdecryptionkey
textfield
fieldF
fieldsM
forgetI
functionG
gdecryptionkey
gerrorcodeK
giveG
givesI
gives
result
cqd5yentvr5tn9byshg2R
gives
result
don't
forget
gunther
borgI
gives
result
hello
worldK
gives
result
uryyb
jbeyqP
global
guntherI
haveH
heelM
helloG
hereR
sample
signature
gerrorcode
ignoredI
illnessN
internetN
jbeyqP
l'ueK
laterG
leftR
lengthR
lettercompresscalcH
lettercompressedJ
lettercontentsH
lettercontentscalcJ
lettersH
likeE
mainH
meaningR
messageR
messagecleanR
messageokR
messagereceivedR
middleR
mysecretK
namedH
needR
negativeO
noteO
numberO
onesO
overN
partH
patientdataM
patientnameM
plug-inE
pnther-pand-pbI
positionR
preventQ
receivedemailI
receivingR
resultF
returnE
rg-q-pI
safeI
safeasciiI
safedatacalcM
safelyN
safenamecalcM
sampleO
secretfield
sendR
sendingM
field
gerrorcode
external
troi-set
crypt
mysecretK
field
result
field
result
external
troi-binarytonum
return
field
result
external
troi-checksum
hello
world
field
result
external
troi-compress
123456789
123456789
field
result
external
troi-decodesafeasciiI
field
result
external
troi-decompress
xu3426153
field
result
external
troi-decrypt
codeK
field
result
external
troi-encodesafeascii
don't
forget
field
result
external
troi-encodeshortsafe
don't
forget
field
result
external
troi-encrypt
hello
worldN
field
result
external
troi-numtobinary
10010
returnF
field
result
external
troi-numtobinary
return
field
result
external
troi-rotate13
hello
worldP
field
result
external
troi-rotate13
uryyb
jbeyqP
field
result
external
troi-textsignatureR
field
secretfield
signatureR
signatureposR
signaturereceivedR
storeG
stringE
subsequentQ
textH
textfield
thatI
thenG
theseM
thisE
ignoredI
trco-versionE
troiE
safeascii
v1.0I
troi-binarytonumF
troi-checksumG
troi-code
troi-compressH
troi-decodesafeasciiI
troi-decompressJ
troi-decryptK
troi-encodesafeasciiL
troi-encodeshortsafeM
troi-encryptN
troi-numtobinaryF
troi-rotate13P
troi-setK
troi-textsignatureR
uncompressedJ
unstoredJ
uryybP
userM
usesO
v-pdon/tt-pforget-ptI
v-pdon/tt-pforget-pt
pnther-pand-pb
rg-q-pI
v1.0I
versionH
where
whichH
willE
worldG
xu3426153H
succesfullyQ
decoding
error
decoding
failedI
decimal
numberF
numberG
acrossR
asciiR
bencodedsafeM
bencodedsafe
binaryO
charactersR
codeJ
coded
compressedH
decimalF
decodingI
decompressedJ
decompressionJ
decryptedK
encryptedN
safeascii
v1.0L
errorI
exampleM
exportedM
failedI
formattedL
functionE
internetR
likeL
lineL
loadedE
lowerR
nameE
notationO
numberE
orginalI
plug-inE
resultL
returnsE
rotatedP
safeL
safeasciiL
safelyM
sendR
separatedM
signatureR
signature
string
charactersR
stringH
succesfullyQ
textH
thatP
coded
encrypted
decrypted
compressed
stringH
decompressed
textJ
decrypted
textK
encrypted
textN
function
returns
plug-in
loadedE
version
number
loaded
plug-inE
number
binary
notationO
orginal
textI
result
formatted
thisL
rotatedP
thereforeR
thisE
troiL
safeascii
v1.0L
v1.0L
versionE
whenI
willL
0-255H
1024G
4294967295O
63970
64000
checksum
might
different
texts
chancG
about
afterH
algorithmJ
algorithmsJ
alsoI
alwaysE
asciiH
remember
sensitive
without
caseN
chanceG
charactersH
checksumG
codesH
compressedJ
compressionH
containH
conversionH
convertedO
currentK
currentlyJ
dataE
decodeL
decompressJ
decrypt
decryptedK
determineE
differentG
difficultP
doesK
don'tL
emptyE
encryptK
encryptionkey
externalE
fieldE
filemakerE
formatingL
functionE
functionsE
current
match
encrypt
importantE
important
always
function
determine
plug-E
inputK
length
lessH
likeJ
limitation
loadedE
longerH
lossE
makeP
matchK
maximumO
means
mightG
needN
normallyG
noteH
short
strings
characters
might
function
decompress
previJ
numberO
onlyJ
originalN
otherJ
parameters
plug-inE
practical
previouslyJ
quiteG
readingP
rememberN
resultE
retrieveN
returnE
returnedK
safeH
sameG
scriptN
alsoM
troi-encodesafeascii
troi-encodeshortsafeI
sensitiveN
shortH
should
simpleP
stringsH
stuffitJ
supportedJ
sureN
switches
textH
textsG
thanH
thatE
maximum
number
converted
4294967295O
thisE
total
troi-codeN
troi-compressJ
troi-decodesafeasciiL
troi-encodesafeasciiH
troi-encodesafeascii
troi-decodesafeasciiM
troi-encodeshortsafeI
unchangedK
function
encrypt
decrypt
without
script
simple
reading
difficultP
usedK
wantL
willE
withJ
withoutN
decode
troi-decodesafeasciiL
zlibJ
0-255H
10010F
1024G
11111111111111111111O
123456789H
decoding
error
decoding
failedI
4294967295O
63970
64000
about
acrossR
action
addingR
afterH
againP
algorithmH
algorithmsJ
alsoE
alwaysE
asciiG
beforeQ
beingL
bencodedsafeM
bencodedsafe
betterL
binaryF
binarynumberF
bodyI
borgI
brokenM
calculateG
calculationH
caseN
chanceG
changeR
changedG
characterM
charactersG
checkR
checksumG
codeJ
coded
codesH
codingE
compareG
complementO
compressH
compressedH
compressesH
compresses
using
algorithmH
compressionH
containH
containsH
contentsG
conversionH
convertedF
convertsF
converts
binary
number
decimal
representationF
converts
number
binary
representationO
correctK
countedG
cqd5yentvr5tn9byshg2R
cryptK
currentG
currentlyJ
dataE
databaseH
decimalF
decodeI
decodedI
decodedcalcI
decodesI
decodes
safeascii
format
original
textI
decodingI
decompressJ
decompressedJ
decompressesJ
decompresses
previously
compressedJ
decompressionJ
decryptK
decryptdes
decryptedK
decryptsK
decrypts
using
algorithm
current
crypt
defineH
definedH
depending
determineE
differentG
difficultP
documentH
doesK
doesn'tR
don'tI
emailI
emptyE
encodeL
encodedI
encodesL
encodes
ascii
characters
range
theseM
encodes
lower
ascii
characters
range
encoding
encryptK
encryptdes
encryptedM
encrypteddatacalcN
encryptionQ
encryptionkey
encryptsN
encrypts
using
algorithm
current
crypt
safeascii
v1.0I
endifK
errorI
exampleH
example
exportM
exportedM
externalE
failedI
fieldE
fieldsM
filemakerE
firstK
forgetI
formatI
formatingL
formatsL
formattedL
functionE
functionsE
futureE
gdecryptionkey
generateR
generatesR
generates
signature
characters
gerrorcodeK
giveG
givesI
gives
result
don't
forget
gunther
borgI
gives
result
hello
worldP
gives
result
uryyb
jbeyqP
global
guntherI
haveH
heelM
helloG
hereR
ignoredI
illnessN
importantE
inputK
internetL
jbeyqP
l'ueK
laterG
leastQ
leaveE
leftR
lengthR
lessH
lettercompresscalcH
lettercompressedJ
lettercontentsH
lettercontentscalcJ
lettersH
likeE
limitation
lineL
loadedE
longQ
longerH
lossE
lowerL
mainH
makeP
matchK
maximumO
meaningR
meansR
messageR
messagecleanR
messageokR
messagereceivedR
middleR
mightG
moduloG
mysecretK
nameE
namedH
needN
needsF
negativeO
non-printingG
normallyG
notationO
noteE
numberE
number
number
needs
converted
binaryO
onesO
onlyJ
orginalI
originalI
otherJ
outputL
overL
parametersE
partH
patientdataM
patientnameM
perform
performs
performs
encoding
decoding
field
depending
plug-inE
pnther-pand-pbI
positionR
possible
practical
preventQ
previouslyJ
quiteG
rangeL
readableL
readingP
receivedemailI
receivingR
registerE
rememberN
representationF
resultE
retrieveN
returnE
returnedK
returnsE
rg-q-pI
rotateP
rotate13P
rotatedP
safeH
safeasciiI
safedatacalcM
safelyL
safenamecalcM
sameG
sampleO
scriptN
secretfield
troi-encodesafeascii
troi-encodeshortsafeI
sendR
sendingM
sensitiveN
sentL
separatedM
field
result
external
troi-decodesafeasciiI
field
result
external
troi-rotate13
hello
worldP
field
result
external
troi-rotate13
uryyb
jbeyqP
shiftsP
shortH
should
signatureR
signatureposR
signaturereceivedR
simpleP
spacesG
specifyK
specify
which
encrypt
decrypt
textQ
storeG
storedP
stringE
stringsH
stuffitJ
subsequentQ
succesfullyQ
ascii
values
characters
modulo
supportedJ
sureN
switches
textG
encodeM
compressH
decodeI
decompressJ
rotateP
encodeL
textfield
textsG
thanH
thatE
compressed
stringH
decompressed
textJ
encrypt
decrypt
textQ
maximum
number
converted
4294967295O
number
binary
notationO
orginal
textI
result
formatted
thisL
rotatedP
thenG
thereforeR
theseM
thisE
ignoredI
total
trco-versionE
troiE
safeascii
v1.0I
troi-binarytonumF
troi-checksumG
troi-codeN
troi-compressH
troi-decodesafeasciiI
troi-decompressJ
troi-decryptK
troi-encodesafeasciiH
troi-encodeshortsafeI
troi-encryptN
troi-numtobinaryF
troi-rotate13P
troi-setK
troi-textsignatureR
unchangedK
uncompressedJ
unstoredJ
uryybP
function
which
version
plug-in
simple
reading
difficultP
usedE
userM
usesO
usingH
v-pdon/tt-pforget-ptI
v-pdon/tt-pforget-pt
pnther-pand-pb
rg-q-pI
v1.0I
valuesG
versionE
veryP
simple
coding
shifts
character
values
wantL
whenI
where
whichE
willE
withJ
withoutL
worldG
xu3426153H
decode
troi-decodesafeasciiL
zlibH
12/20/99
CONSIDERADITIONSLABELCALC
CONSIDERATIONS
DESCRIPTION
DESCRIPTIONTOTCALC
DESCRIPTIONTOTVIEWCALC
DEVELOPERID
EXAMPLEUSAGE
FUNCTIONCATEGORY
FUNCTIONDESCRIPTIONOLD
FUNCTIONID
FUNCTIONINVERSION
FUNCTIONMAC
FUNCTIONNAME
FUNCTIONNAMECALC
FUNCTIONSAMPLE
FUNCTIONSYNTAX
FUNCTIONWIN
GVERSION
ISMASTERCALC
PAGENO
PARAMETERLIST
PLUGINNAME
READY
RELATEDFUNCTIONSID
REMARK
RESULT
SYNTAX
URLCALC
_GPAGEOFFSET
_GTEMP
Function Overview
Function Details
Blank
To PDF
Function OverviewB
FunctionNameB
FunctionMacB
FunctionWinB
FunctionDescriptionOLDB
FunctionSyntaxB
FunctionIDB
FunctionCategoryB
FunctionInVersionB
PluginNameB
FunctionNameCalcB
"-"
" ")
DeveloperIDB
RelatedFunctionsIDB
FunctionSampleB
SyntaxB
DescriptionB
ParameterListB
ExampleUsageB
ResultB
readyB
remarkB
ConsiderationsB
gVersionB
DescriptionTotCalcB
K & "
** "
M & "
** "
O & "
** "
R & "
** "
N & "
DescriptionTotViewCalcB
"DESCRIPTION
PARAMETER(S)
RESULT
R =""
SPECIAL CONSIDERATIONS
R) &
EXAMPLE USAGE
DESCRIPTION
PARAMETER(S)
RESULT
SPECIAL CONSIDERATIONS
EXAMPLE USAGE
URLCalcB
V = ""
"<A HREF=""" &
V & """>" &
V & "</a>"
<A HREF="
_gTempB
ConsideraditionsLabelCalcB
R =""
Special Considerations
Special Considerations
_gPageOffsetB
PageNoB
isMasterCalcB
"External") >0
ExternalG
Coding Plug-in 1.5
Troi-BinaryToNumTABConverts a binary number to its decimal representation.
Troi-ChecksumTABSum of the ASCII values of the characters modulo 1024. ALL characters are counted, also non-printing characters like spaces and returns.
Troi-CodeTABPerforms a encoding or decoding of the text field.
Encrypts text using a DES algorithm and the current crypt key.
Troi-CompressTABCompresses text using a ZLIB algorithm.
Troi-DecodeSafeAsciiTABDecodes a text in the SafeASCII format to the original text
Troi-DecompressTABDecompresses text that was previously compressed.
Troi-DecryptTABDecrypts text using a DES algorithm and the current crypt key. Specify the correct key first with the function "Troi-Set Crypt Key".
Troi-EncodeSafeAsciiTABEncodes a text to lower ASCII characters in the range 45...127. The result can be sent safely over the Internet without any characters being changed. This function formats the output so that it is better readable for email.
Troi-EncodeShortSafeAsciiTABE
ncodes a text to Ascii characters in the range 45...127. These character can be exported as tab separated text and also sent safely over the internet.
Troi-EncryptTABEncrypts text using a DES algorithm and the current crypt key. Specify a key first with the function "Troi-Set Crypt Key".
Troi-NumToBinaryTABConverts a number to its binary representation.
Troi-Rotate13TABVery simple coding of text. Shifts the character values by 13 to encrypt text stored in a FileMaker field. The field may b
oe decrypted by using Rotate13 again.
Troi-Set Crypt KeyTABSpecify which key is used to encrypt and decrypt a text.
Troi-TextSignatureTABGenerates a signature of the characters that you can see. This means that only characters a-z, A-Z and 0-9 are used to generate the signature. So adding non-printing characters like spaces and returns doesn
t change the signature.
Function DetailsB
I$External Function Overview
ABFD>>W
Function nameZ
Print`
N.A. = Not Applicableb
Plug-in Namep*See also the User Manual for more details.s
1999 Troi Automatiseringt
detailsv
Find
7AgTIP You can find an up-to-date and comprehensive listing of all our External functions on our web site:
http://www.troi.com/reference/y
To Menu
functions on our web site:
http://www.troi.com/reference/y
To Menu
Open file
Set all globals
To Menu
To Overview
To Related record
To Detail
----- General ------
Check plug-in
----- Documentation etc ------
Print Function Specs
Copy Parameters
Print this record
BeepBeep
create overview
Prepare for PDF
Sort on FunctionName
go to Exteral DB (online)
External Function OverviewQ
OverviewZ
Print`
N.A. = Not Applicabled
Nameg
Winl2
1997-1999 Troi Automatisering, version <<
ABFD>>m
Findq
Syntax
In version
FindB
converts@
formatted@
signaturesR
without@
field
result
external
troi-code
switches
encryptionkey
encodes
ascii
characters
range
these@
simpleP
decryptQ
rotate@
decryptdes@
have@
safely@
field
result
external
troi-rotate13
uryyb
jbeyq@
v-pdon/tt-pforget-pt
pnther-pand-pb
rg-q-p@
result@
checksum
might
different
texts
chanc@
limitation@
troi-decodesafeascii@
cqd5yentvr5tn9byshg2@
encrypteddatacalc@
heel@
number
number
needs
converted
binary@
textfield@
troi-textsignature@
FPTHA
VDEFA
OverviewW
Function
Namee
Parametersf
Descriptiong
Category
Function
InVersion
FunctionID
PluginName
DeveloperID
RelatedFunctions
Syntax
Parameters
Example
Usage
FunctionDescriptionOLD
Result
ready
remark
Special
Considerations
gVersion
DescriptionTotCalc
URLCalc
_gTemp
_gPageOffset
PageNo
BlankB
Function Namee
Parametersf
Descriptionl
1997-1999 Troi Automatiseringn
Cancelp
Enter your search criteriar
PluginName
To PDFB
ABCF>>
Syntax <<
ABEK>>
ABEL>>
Parameters
ABEN>>
Returned result
ABEP>>
ABFK>>
ABFC>>
Example Usage
ABEO>>
I$External Function Overview
ABFD>>Z
To Overviews
1999 Troi Automatiseringv
Find
ABFM>>L
Function Reference
TrCo-Versionf
@Example usage: External(TrCo-Version, "") will return "Troi Coding Plug-in 1.1".
Important: always use this function to determine if the plug-in is loaded. If the plug-in is not loaded use of external functions may result in data loss, as FileMaker will return an empty field to any external function that is not loaded.
nonej
Generalu
Troi Coding Plug-in
D0001
J0Set Field [ result, External(TrCo-Version, "") ]
K{Use this function to see which version of the plug-in is loaded.
Note: This function is also used to register the plug-in.
sdsds
Open file
Set all globals
To Menu
To Overview
To Related record
To Detail
----- General ------
Check plug-in
----- Documentation etc ------
Print Function Specs
Copy Parameters
Print this record
BeepBeep
create overview
Prepare for PDF
Sort on FunctionName
go to Exteral DB (online)ine)
M*no parameters, leave empty for future use.
NWExternal(TrCo-Version, "") will return as string like this: "Troi Coding Plug-in 1.5".
OiThe name and version number of the loaded plug-in.
The function returns "" if this plug-in is not loaded.
Important: always use this function to determine if the plug-in is loaded. If the plug-in is not loaded use of external functions may result in data loss, as FileMaker will return an empty field to any external function that is not loaded.
Use this function to see which version of the plug-in is loaded.
Note: This function is also used to register the plug-in.
** no parameters, leave empty for future use.
** The name and version number of the loaded plug-in.
The function returns "" if this plug-in is not loaded.
** Important: always use this function to determine if the plug-in is loaded. If the plug-in is not loaded use of external functions may result in data loss, as FileMaker will return an empty field to any external f
TBzunction that is not loaded.
** External(TrCo-Version, "") will return as string like this: "Troi Coding Plug-in 1.5".
Troi-BinaryToNumf
1h8Converts a binary number to its decimal representation.i
textj
Encodingu
Troi Coding Plug-in
D0001
JBSet Field [ result, External["Troi-BinaryToNum", "binaryNumber" )]
K7Converts a binary number to its decimal representation.
MUbinaryNumber: the number that needs to be converted to its decimal representation.
Set Field [ result, External["Troi-BinaryToNum", "10" )] will return as result 2
Set Field [ result, External["Troi-NumToBinary", "10010" )] will return as result 18
A decimal number
XConverts a binary number to its decimal representation.
** binaryNumber: the number that needs to be converted to its decimal representation.
** A decimal number
** Set Field [ result, External["Troi-BinaryToNum", "10" )] will return as result 2
Set Field [ result, External["Troi-NumToBinary", "10010" )] will return as result 18
Troi-Checksumf
Sum of the ASCII values of the characters modulo 1024. ALL characters are counted, also non-printing characters like spaces and returns.i
textj
Encodingu
Troi Coding Plug-in
D0001
J7Set Field [ result, External["Troi-Checksum", "text" )]
Sum of the ASCII values of the characters modulo 1024. ALL characters are counted, also non-printing characters like spaces and returns.
M0text: the text to calculate the checksum for.
Set Field [ result, External["Troi-Checksum", "Hello world." )] will give a result of 106.
You can use this function to see if the contents of a field has changed. You store the checksum and then later compare it to the current checksum.
a number
RlA checksum might be the same for 2 different texts. The chance on this is normally quite low ( one on 1024).
Sum of the ASCII values of the characters modulo 1024. ALL characters are counted, also non-printing characters like spaces and returns.
** text: the text to calculate the checksum for.
** a number
** A checksum might be the same for 2 different texts. The chance on this is normally quite low ( one on 1024).
** Set Field [ result, External["Troi-Checksum", "Hello world." )] will give a result of 106.
You can use this function to see if the contents of a field has changed. You store theB@ checksum and then later compare it to the current checksum.
Troi-Compressf
Compresses text using a ZLIB algorithm.
NOTE very short strings (less than 10 characters) of text might be longer after compression.
textj
Encodingu
Troi Coding Plug-in
D0001
J7Set Field [ result, External["Troi-Compress", "text" )]
K'Compresses text using a ZLIB algorithm.
text: the text to compress
Set Field [ result, External["Troi-Compress", "123456789 123456789 123456789" )]
will result in the compressed string: "x
3426153
EXAMPLE 2
In a document database you have defined a text field named "letterContents" which contains the main part of a letters. Then you can define a calculation field:
this field will contain the compressed version of the field.
the compressed text string
NOTE 1: short strings (less than 20 characters) of text might be longer after compression.
NOTE 2: the compression result can contain all ASCII codes (0-255). See "Troi-EncodeSafeAscii" for conversion to safe ASCII codes.
Compresses text using a ZLIB algorithm.
** text: the text to compress
** the compressed text string
** NOTE 1: short strings (less than 20 characters) of text might be longer after compression.
NOTE 2: the compression result can contain all ASCII codes (0-255). See "Troi-EncodeSafeAscii" for conversion to safe ASCII codes.
** Set Field [ result, External["Troi-Compress", "123456789 123456789 123456789" )]
will result in the compressed string: "x
3426153
EXAMPLE 2
In a doc
0ument database you have defined a text field named "letterContents" which contains the main part of a letters. Then you can define a calculation field:
In a database you have defined a text field named "receivedEmail" which contains the body of an email which contains a part that is encoded as ASCII Safe. Then you can define a calculation fB
In a database you have defined a text field named "receivedEmail" which contains the body of an email which contains a part that is encoded as ASCII Safe. Then you can define a calculation field:
1h3Decompresses text that was previously compressed.
textj
Encodingu
Troi Coding Plug-in
D0001
J9Set Field [ result, External["Troi-Decompress", "text" )]
K1Decompresses text that was previously compressed.
text: the text to decompress
Set Field [ result, External["Troi-Decompress", "x
3426153
will result in the compressed string: "123456789 123456789 123456789"
EXAMPLE 2
In a document database you have defined a text field named "letterCompressed" which contains the main part of a letters, compressed. Then you can define a calculation field:
this field will contain the uncompressed version of the contenB
Oathe decompressed text
"$$ Decompression Error" + an error code, when the decompression failed.
NOTE 1: this function can only decompress text that was previously compressed with "Troi-Compress" function (ZLIB algorithm). Currently no other algorithms like ZIP and Stuffit (.sit) are supported.
Decompresses text that was previously compressed.
** text: the text to decompress
** the decompressed text
"$$ Decompression Error" + an error code, when the decompression failed.
** NOTE 1: this function can only decompress text that was previously compressed with "Troi-Compress" function (ZLIB algorithm). Currently no other algorithms like ZIP and Stuffit (.sit) are supported.
** Set Field [ result, External["Troi-Decompress", "x
3426153
will result in the compressed s
tring: "123456789 123456789 123456789"
EXAMPLE 2
In a document database you have defined a text field named "letterCompressed" which contains the main part of a letters, compressed. Then you can define a calculation field:
this field will contain the uncompressed version of the contents.
Troi-Decryptf
Decrypts text using a DES algorithm and the current crypt key. Specify the correct key first with the function "Troi-Set Crypt Key".
If the current key does not match the key used to encrypt the text is not decrypted, and the input text is returned unchanged.
textj
Encodingu
Troi Coding Plug-in
D0001
J6Set Field [ result, External["Troi-Decrypt", "text" )]
Decrypts text using a DES algorithm and the current crypt key. Specify the correct key first with the function "Troi-Set Crypt Key".
text: the text to decrypt
Set Field [ gErrorCode, External["Troi-Set Crypt Key", "mySecret" )]
if [gErrorCode = 0]
Set Field [ result, External["Troi-Decrypt", "l
JtO<=!
endif
gives this result: "Hello World".
the decrypted text
R~If the current key does not match the key used to encrypt the text is not decrypted, and the input text is returned unchanged.
Decrypts text using a DES algorithm and the current crypt key. Specify the correct key first with the function "Troi-Set Crypt Key".
** text: the text to decrypt
** the decrypted text
** If the current key does not match the key used to encrypt the text is not decrypted, and the input text is returned unchanged.
** Set Field [ gErrorCode, External["Troi-Set Crypt Key", "mySecret" )]
if [gErrorCode = 0]
Set Field [ result, External["Troi-Decrypt", "l
JtO<=!
endB-if
gives this result: "Hello World".
Troi-EncodeSafeAsciif
tEncodes a text to lower ASCII characters in the range 45...127. The result can be sent safely over the internet. This function formats the output so that it is better readable for email.
The result will be formatted like this:
%Troi SafeAscii v1.0
safe text line 1
safe text line 2
%End SafeAscii v1.0
See also:
Troi-EncodeShortSafeAscii and Troi-DecodeSafeAscii
textj
Encodingu
Troi Coding Plug-in
D0001
J>Set Field [ result, External["Troi-EncodeSafeAscii", "text" )]
Encodes a text to lower ASCII characters in the range 45...127. The result can be sent safely over the Internet without any characters being changed. This function formats the output so that it is better readable for email.
text to encode
Set Field [ result, External["Troi-EncodeSafeAscii", "
NOTE: If you don't want formating use "Troi-EncodeShortSafeAscii" function.
Encodes a te
Encodes a text to lower ASCII characters in the range 45...127. The result can be sent safely over the Internet without any characters being changed. This function formats the output so that it is better readable for email.
** text to encode
** The result will be formatted like this:
%Troi SafeAscii v1.0
safe text line 1
safe text line 2
...
%End SafeAscii v1.0
** You can decode it with: "Troi-DecodeSafeAscii".
NOTE: If you don't want formating use "Troi-EncodeShortSafeAs
cii" function.
** Set Field [ result, External["Troi-EncodeSafeAscii", "
Encodes a text to Ascii characters in the range 45...127. These character can be sent safely over the internet and also exported as tab separated text.
The result will be formatted like this:
%Bsafe text%E
See also:
Troi-EncodeSafeAscii and Troi-DecodeSafeAscii
textj
Encodingu
Troi Coding Plug-in
D0001
JCSet Field [ result, External["Troi-EncodeShortSafeAscii", "text" )]
Encodes a text to Ascii characters in the range 45...127. These character can be exported as tab separated text and also sent safely over the internet.
text: text to encode
Set Field [ result, External["Troi-EncodeShortSafeAscii", "
t forget to have fun, G
nther and B
rg! " )]
gives this result: "%B.V-PDon/Tt-Pforget-Pto-Phave-Pfun-\-PG.Pnther-Pand-PB/>rg-Q-P%E"
EXAMPLE 2
In a database you have defined a text field named "patientName" and "patientData" which contains user data. Then you can define a calculation field:
these fields will contain the encoded text. If you export these safe fields you can get it like this:
Bj/>rn<TAB>Broken heel
TIP Use this function for sending encrypted data.
The result will be formatted like this:
%Bencodedsafe text%E
This result of this function can be safely exported to for example TAB separated text.
R7See also:
Troi-EncodeSafeAscii and Troi-DecodeSafeAscii
Encodes a text to Ascii characters in the range 45...127. These character can be exported as tab separated text and also sent safely over the internet.
** text: text to encode
** The result will be formatted like this:
%Bencodedsafe text%E
This result of this function can be safely exported to for example TAB separated text.
** See also:
Troi-EncodeSafeAscii and Troi-DecodeSafeAscii
** Set Field [ result, External["Troi-EncodeShortSafeAscii", "
t forget to have fun, G
r and B
rg! " )]
gives this result: "%B.V-PDon/Tt-Pforget-Pto-Phave-Pfun-\-PG.Pnther-Pand-PB/>rg-Q-P%E"
EXAMPLE 2
In a database you have defined a text field named "patientName" and "patientData" which contains user data. Then you can define a calculation field:
TIP Use the Troi-EncodeSafeAscii function for sending data safely over the int
ernet.
Troi-NumToBinaryf
1h/Converts a number to its binary representation.i
numberj
Encodingu
Troi Coding Plug-in
D0001
J<Set Field [ result, External["Troi-NumToBinary", "number" )]
K/Converts a number to its binary representation.
M>number = the number that needs to be converted to a binary.
gSet Field [ result, External["Troi-NumToBinary", 2 )] will return as result "10"
Set Field [ result, External["Troi-NumToBinary", 18 )] will return as result "10010"
This sample uses a negative number:
Set Field [ result, External["Troi-NumToBinary", -2 )] will return as result "11111111111111111111111111111110" which is the ones complement of 2.
The number in binary notation.
R/The maximum number to be converted = 4294967295
Converts a number to its binary representation.
** number = the number that needs to be converted to a binary.
** The number in binary notation.
** The maximum number to be converted = 4294967295
** Set Field [ result, External["Troi-NumToBinary", 2 )] will return as result "10"
Set Field [ result, External["Troi-NumToBinary", 18 )] will return as result "10010"
This sample uses a negative number:
Set Field [ result, External["Troi-NumToBinary", -2 )] will return as result "111BG11111111111111111111111111110" which is the ones complement of 2.
Troi-Rotate13f
Very simple coding of text. Shifts the character values by 13 to encrypt text stored in a FileMaker field. The field may be decrypted by using Rotate13 again.i
textj
Encodingu
Troi Coding Plug-in
D0001
J7Set Field [ result, External["Troi-Rotate13", "text" )]
Very simple coding of text. Shifts the character values by 13 to encrypt text stored in a FileMaker field. The field may be decrypted by using Rotate13 again.
text: the text to Rotate
Set Field [ result, External["Troi-Rotate13", "Hello World")]
gives this result: "Uryyb Jbeyq"
EXAMPLE 2
Set Field [ result, External["Troi-Rotate13", "Uryyb Jbeyq")]
gives this result: "Hello World"
the text that was Rotated
R8Use this only as a simple way to make reading difficult.
Very simple coding of text. Shifts the character values by 13 to encrypt text stored in a FileMaker field. The field may be decrypted by using Rotate13 again.
** text: the text to Rotate
** the text that was Rotated
** Use this only as a simple way to make reading difficult.
** Set Field [ result, External["Troi-Rotate13", "Hello World")]
gives this result: "Uryyb Jbeyq"
EXAMPLE 2
Set Field [ result, External["Troi-Rotate13", "Uryyb Jbeyq")]
gives this result: "Hello World"
Troi-Set Crypt Keyf
Specify which key is used to encrypt and decrypt a text.
Use this before you use the function "Troi-Encrypt" or "Troi-Decrypt". The key has to be at least 6 characters long and is case sensitive.
the_keyj
Encodingu
Troi Coding Plug-in
D0001
J?Set Field [ result, External["Troi-Set Crypt Key", "the_key" )]
K8Specify which key is used to encrypt and decrypt a text.
the_key: the key is used to encrypt and decrypt a text.
Use this before you use the function "Troi-Encrypt" or "Troi-Decrypt". The key has to be at least 6 characters long and is case sensitive.
Set Field [ gErrorCode, External["Troi-Set Crypt Key", "mySecret" )]
if [gErrorCode = 0]
Set Field [ result, External["Troi-Encrypt", "Hello World")]
Set Field [ gErrorCode, External["Troi-Set Crypt Key", "different Key" )]
endif
gives this result: "l
JtO<=!
Note that after the encryption the key is set to a different one, to prevent subsequent use of it.
O!0 if the key was set succesfully.
Specify which key is used to encrypt and decrypt a text.
** the_key: the key is used to encrypt and decrypt a text.
Use this before you use the function "Troi-Encrypt" or "Troi-Decrypt". The key has to be at least 6 characters long and is case sensitive.
** 0 if the key was set succesfully.
** Set Field [ gErrorCode, External["Troi-Set Crypt Key", "mySecret" )]
if [gErrorCode = 0]
Set Field [ result, External["Troi-Encrypt", "Hello World")]
Set Field [ gErrorCode, External[
"Troi-Set Crypt Key", "different Key" )]
endif
gives this result: "l
JtO<=!
Note that after the encryption the key is set to a different one, to prevent subsequent use of it.
Troi-TextSignaturef
5Generates a signature of the characters that you can see. This means that only characters a-z, A-Z and 0-9 are used to generate the signature. So adding non-printing characters like spaces and returns doesn
t change the signature.
Signatures are all lower ASCII and therefore save to send across the internet.
textj
Encodingu
Troi Coding Plug-in
D0001
J<Set Field [ result, External["Troi-TextSignature", "text" )]
Generates a signature of the characters that you can see. This means that only characters a-z, A-Z and 0-9 are used to generate the signature. So adding non-printing characters like spaces and returns doesn
t change the signature.
M-text: the text to calculate the signature for
Set Field [ result, External["Troi-TextSignature",
"Here is a sample text that you can see the signature of." )]
gives this result: "Cqd5yentvR5TN9bYSHG2MKdZ"
EXAMPLE 2
You can use this function to check if the (meaning) of a text was not changed, by adding the signature to the message.
The characters are all lower ASCII and therefore safe to send across the internet.
Generates a signature of the characters that you can see. This means that only characters a-z, A-Z and 0-9 are used to generate the signature. So adding non-printing characters like spaces and returns doesn
t change the signature.
** text: the text to calculate the signature for
** Signature: a string of 24 characters.
The characters are all lower ASCII and therefore safe to send across the internet.
** Set Field [ result, External["Troi-TextSignature",
"Here is a sample text that you can see the signature of." )]
gives this result: "Cqd5yentvR5TN9bYSHG2MKdZ"
EXAMPLE 2
You can use this function to check if the (meaning) of a text was not changed, by adding the signature to the message.
gDecryptionKey = a global text field where the user can type in the key.
O>the coded text. This can be encrypted text or decrypted text.
PUse this function to encrypt and decrypt without a script.
LIMITATION
The total length of the parameters ( = length of the switches + encryptionKey + text) should not be longer than 64000, as FileMaker will not call the "Troi-Code" function.) Practical this means that the text field should not be longer than about 63970 characters.
Performs a encoding or decoding of the text field, depending on switches.
** switches specify what (de)coding action to perform
encryptionKey the key to use
text: the text to perform the action on
switches can be:
-encryptDES encrypt using the DES algorithm (and the encryptionKey)
-decryptDES decrypt using the DES algorithm (and the encryptionKey)
Other switches are (not yet) possible.
** the coded text. This can be en
crypted text or decrypted text.
** Use this function to encrypt and decrypt without a script.
LIMITATION
The total length of the parameters ( = length of the switches + encryptionKey + text) should not be longer than 64000, as FileMaker will not call the "Troi-Code" function.) Practical this means that the text field should not be longer than about 63970 characters.